草庐IT

HA 模式

全部标签

javascript - JavaScript 中 "class"定义的这三种模式有什么区别?

在选择使用这四种模式之一而不是其他模式时,引擎盖下是否有任何重要/微妙/显着差异?并且,当通过Object.create()“实例化”时,它们之间有什么区别吗?对比new运算符(operator)?1)CoffeeScript的模式在翻译“类”定义时使用:Animal=(function(){functionAnimal(name){this.name=name;}Animal.prototype.move=function(meters){returnalert(this.name+("moved"+meters+"m."));};returnAnimal;})();和2)Knock

javascript - AngularJS 如何为 Bootstrap 模式创建可重用的模板

所以我正在使用AngularJSBootstrap模态(http://angular-ui.github.io/bootstrap/)。哪个工作正常,但我想知道我是否可以创建一个可以包含标题和内容的基本模板。然后它会用这些信息填充我的模板。该模板将有一个关闭按钮、取消按钮、叠加层等。AngularJS是否有一种简单的方法来执行此操作?这是从示例中提取的,它是关于我所拥有的。我的内容在templateUrl中。传入模态模板会很好,这样我就不必为我创建的每个模态重新创建标题和关闭按钮。varmodalInstance=$modal.open({templateUrl:'myModalCon

javascript - 为什么是模块模式?

我已经阅读了很多关于模块模式的文章。好的,它带来了结构、私有(private)方法等……但是使用下面的代码我可以在不使用它的情况下获得相同的行为。functionHuman(){//privatepropertiesvar_name='';var_age=0;//privatemethodsfunctioncreated(){console.log("Human"+_name+"called");};//publicthis.setName=function(name){_name=name;created();};}varh1=newHuman();h1.setName("John"

javascript - JavaScript 中的这三种模块模式实现有什么区别?

我见过以下三个代码块作为JavaScript模块模式的示例。有什么区别,为什么我会选择一种模式而不是另一种模式?模式一functionPerson(firstName,lastName){varfirstName=firstName;varlastName=lastName;this.fullName=function(){returnfirstName+''+lastName;};this.changeFirstName=function(name){firstName=name;};};varjordan=newPerson('Jordan','Parmer');模式二functi

Javascript 沙盒模式示例实现

在StoyanStefanov的伟大著作“JavaScript模式”的第101页,他解释了沙盒模式。我非常喜欢他的书,但我真的错过了这里的一些现实生活中的例子,然后才能更好地理解他在说什么。Likethesandboxpattern!我正在寻找一个现实生活中的工作实现,例如复制和粘贴起点,只是一个简单的示例,可以帮助您完全理解它。有没有? 最佳答案 我已经简化了Stoyan的例子,试图让它更容易理解正在发生的事情。我也更彻底地评论了它。/*Firstdefinethemodulesofthesandbox.Thesewillbede

javascript - 如何从 Angular ui bootstrap 模式传递表单数据以查看

我正在创建一个网络应用程序,我想实现一个添加friend的选项。我已经将添加好友页面创建为带有文本输入字段的模态。我想通过在我的View页面上显示输入来对此进行测试。如何将这些数据显示到我的View页面上?这是我目前拥有的index.htmlI'mamodal!{{user.name}}OKCancelAddFriendUsername:{{user.name}}我的JavaScript文件:angular.module('ui.bootstrap.demo',['ui.bootstrap']);angular.module('ui.bootstrap.demo').controlle

javascript - 严格模式下获取当前函数名

我需要将当前函数名称作为字符串记录到我们的日志工具中。但是arguments.callee.name只能在松散模式下工作。如何获取"usestrict"下的函数名? 最佳答案 为了记录/调试目的,您可以在记录器中创建一个新的Error对象并检查其.stack属性,例如functionlogIt(message){varstack=newError().stack,caller=stack.split('\n')[2].trim();console.log(caller+":"+message);}functiona(b){b()}a

javascript - 我应该担心 "window is not defined"JSLint 严格模式错误吗?

这不会在严格模式下通过JSLint:"usestrict";(function(w){w.alert(w);}(window));来自jslint.com的错误看起来像这样:第4行字符3的问题:未定义“窗口”。}(window));隐式全局:窗口4我需要告诉JSLint忽略错误,还是我真的做错了什么? 最佳答案 尝试添加以下内容:/*jslintbrowser:true*//*globalwindow*/(或选中假设浏览器复选框)。第一行添加一般浏览器支持。第二行将window声明为全局变量。来自文档:Thebrowseroptio

javascript - 如何从给定模式开始删除字符串的结尾?

假设我有这样一个字符串:varstr="/abcd/efgh/ijkl/xxx-1/xxx-2";如何使用Javascript和/或jQuery删除str中以xxx开头,直到str结尾的部分? 最佳答案 str.substring(0,str.indexOf("xxx")); 关于javascript-如何从给定模式开始删除字符串的结尾?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

javascript - jQuery 小部件开发 - 我可以使用 MVC 模式吗?

我一直在使用knockoutjs和backbone创建单页JavaScript应用程序。我使用backbone模型和knockoutView模型,但我也有很多UI控件,我使用jQueryUI小部件工厂创建了这些控件。我的问题是如何更好地构建我的jQuery小部件中的代码。像knockout/backbone/ember这样的框架可以很容易地在主应用程序中实现MVC类型模式,但是当涉及到小部件开发时,我最终会有一大堆输出和操作DOM元素的代码。我仍然可以测试它,因为jquery使查询DOM变得容易,但代码非常难看。理想情况下,我希望在我的小部件中也有一个MVC模式。是否有任何旨在帮助解决